class PackageListModel {
  int? totalCount;
  List<PackageListItemModel>? items;

  PackageListModel({this.totalCount, this.items});

  PackageListModel.fromJson(Map<String, dynamic> json) {
    totalCount = json['totalCount'];
    if (json['items'] != null) {
      items = <PackageListItemModel>[];
      json['items'].forEach((v) {
        items!.add(new PackageListItemModel.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['totalCount'] = this.totalCount;
    if (this.items != null) {
      data['items'] = this.items!.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class PackageListItemModel {
  int? workOrderState;
  String? workOrderId;
  bool? enableVideoQuery;
  bool? showWorkOrder;
  String? id;
  int? courierUserId;
  int? doorId;
  String? expressNo;
  String? expressName;
  String? orderPhone;
  String? courierPhone;
  String? deviceName;
  int? doorState;
  String? doorStateStr;
  String? depositTime;
  String? takeTime;
  String? overdueTime;
  String? takePackageModeDisplayName;
  double? cabinetFee;
  double? overdueFee;
  int? expressNoType;
  bool? isBack;
  int? businessOrderType;
  int? businessFormType;
  String? deviceBestTime;
  String? tmcDoorsTmcLockBoardsTmcDevicesDisPlayNo;
  String? tmcDoorsTmcLockBoardsTmcDevicesBestTime;
  String? tmcDoorsTmcLockBoardsTmcDevicesDeviceName;
  String? tmcDoorsTmcLockBoardsTmcDevicesRegionFullName;
  String? tmcDoorsDisplayAlias;

  PackageListItemModel(
      {this.workOrderState,
      this.workOrderId,
      this.enableVideoQuery,
      this.showWorkOrder,
      this.id,
      this.courierUserId,
      this.doorId,
      this.expressNo,
      this.expressName,
      this.orderPhone,
      this.courierPhone,
      this.deviceName,
      this.doorState,
      this.doorStateStr,
      this.depositTime,
      this.takeTime,
      this.overdueTime,
      this.takePackageModeDisplayName,
      this.cabinetFee,
      this.overdueFee,
      this.expressNoType,
      this.isBack,
      this.businessOrderType,
      this.businessFormType,
      this.deviceBestTime,
      this.tmcDoorsTmcLockBoardsTmcDevicesDisPlayNo,
      this.tmcDoorsTmcLockBoardsTmcDevicesBestTime,
      this.tmcDoorsTmcLockBoardsTmcDevicesDeviceName,
      this.tmcDoorsTmcLockBoardsTmcDevicesRegionFullName,
      this.tmcDoorsDisplayAlias});

  PackageListItemModel.fromJson(Map<String, dynamic> json) {
    workOrderState = json['workOrderState'];
    workOrderId = json['workOrderId'];
    enableVideoQuery = json['enableVideoQuery'];
    showWorkOrder = json['showWorkOrder'];
    id = json['id'];
    courierUserId = json['courierUserId'];
    doorId = json['doorId'];
    expressNo = json['expressNo'];
    expressName = json['expressName'];
    orderPhone = json['orderPhone'];
    courierPhone = json['courierPhone'];
    deviceName = json['deviceName'];
    doorState = json['doorState'];
    doorStateStr = json['doorStateStr'];
    depositTime = json['depositTime'];
    takeTime = json['takeTime'];
    overdueTime = json['overdueTime'];
    takePackageModeDisplayName = json['takePackageModeDisplayName'];
    cabinetFee = json['cabinetFee'];
    overdueFee = json['overdueFee'];
    expressNoType = json['expressNoType'];
    isBack = json['isBack'];
    businessOrderType = json['businessOrderType'];
    businessFormType = json['businessFormType'];
    deviceBestTime = json['deviceBestTime'];
    tmcDoorsTmcLockBoardsTmcDevicesDisPlayNo = json['tmcDoorsTmcLockBoardsTmcDevicesDisPlayNo'];
    tmcDoorsTmcLockBoardsTmcDevicesBestTime = json['tmcDoorsTmcLockBoardsTmcDevicesBestTime'];
    tmcDoorsTmcLockBoardsTmcDevicesDeviceName = json['tmcDoorsTmcLockBoardsTmcDevicesDeviceName'];
    tmcDoorsTmcLockBoardsTmcDevicesRegionFullName = json['tmcDoorsTmcLockBoardsTmcDevicesRegionFullName'];
    tmcDoorsDisplayAlias = json['tmcDoorsDisplayAlias'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['workOrderState'] = this.workOrderState;
    data['workOrderId'] = this.workOrderId;
    data['enableVideoQuery'] = this.enableVideoQuery;
    data['showWorkOrder'] = this.showWorkOrder;
    data['id'] = this.id;
    data['courierUserId'] = this.courierUserId;
    data['doorId'] = this.doorId;
    data['expressNo'] = this.expressNo;
    data['expressName'] = this.expressName;
    data['orderPhone'] = this.orderPhone;
    data['courierPhone'] = this.courierPhone;
    data['deviceName'] = this.deviceName;
    data['doorState'] = this.doorState;
    data['doorStateStr'] = this.doorStateStr;
    data['depositTime'] = this.depositTime;
    data['takeTime'] = this.takeTime;
    data['overdueTime'] = this.overdueTime;
    data['takePackageModeDisplayName'] = this.takePackageModeDisplayName;
    data['cabinetFee'] = this.cabinetFee;
    data['overdueFee'] = this.overdueFee;
    data['expressNoType'] = this.expressNoType;
    data['isBack'] = this.isBack;
    data['businessOrderType'] = this.businessOrderType;
    data['businessFormType'] = this.businessFormType;
    data['deviceBestTime'] = this.deviceBestTime;
    data['tmcDoorsTmcLockBoardsTmcDevicesDisPlayNo'] = this.tmcDoorsTmcLockBoardsTmcDevicesDisPlayNo;
    data['tmcDoorsTmcLockBoardsTmcDevicesBestTime'] = this.tmcDoorsTmcLockBoardsTmcDevicesBestTime;
    data['tmcDoorsTmcLockBoardsTmcDevicesDeviceName'] = this.tmcDoorsTmcLockBoardsTmcDevicesDeviceName;
    data['tmcDoorsTmcLockBoardsTmcDevicesRegionFullName'] = this.tmcDoorsTmcLockBoardsTmcDevicesRegionFullName;
    data['tmcDoorsDisplayAlias'] = this.tmcDoorsDisplayAlias;
    return data;
  }
}
